<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1">
<title>LogFactoryImpl (Apache Commons Logging 1.2 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="LogFactoryImpl (Apache Commons Logging 1.2 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/LogFactoryImpl.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/logging/impl/Log4JLogger.html" title="class in org.apache.commons.logging.impl"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/logging/impl/LogKitLogger.html" title="class in org.apache.commons.logging.impl"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/logging/impl/LogFactoryImpl.html" target="_top">Frames</a></li>
<li><a href="LogFactoryImpl.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.logging.impl</div>
<h2 title="Class LogFactoryImpl" class="title">Class LogFactoryImpl</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/commons/logging/LogFactory.html" title="class in org.apache.commons.logging">org.apache.commons.logging.LogFactory</a></li>
<li>
<ul class="inheritance">
<li>org.apache.commons.logging.impl.LogFactoryImpl</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">LogFactoryImpl</span>
extends <a href="../../../../../org/apache/commons/logging/LogFactory.html" title="class in org.apache.commons.logging">LogFactory</a></pre>
<div class="block">Concrete subclass of <a href="../../../../../org/apache/commons/logging/LogFactory.html" title="class in org.apache.commons.logging"><code>LogFactory</code></a> that implements the
 following algorithm to dynamically select a logging implementation
 class to instantiate a wrapper for:
 <ul>
 <li>Use a factory configuration attribute named
     <code>org.apache.commons.logging.Log</code> to identify the
     requested implementation class.</li>
 <li>Use the <code>org.apache.commons.logging.Log</code> system property
     to identify the requested implementation class.</li>
 <li>If <em>Log4J</em> is available, return an instance of
     <code>org.apache.commons.logging.impl.Log4JLogger</code>.</li>
 <li>If <em>JDK 1.4 or later</em> is available, return an instance of
     <code>org.apache.commons.logging.impl.Jdk14Logger</code>.</li>
 <li>Otherwise, return an instance of
     <code>org.apache.commons.logging.impl.SimpleLog</code>.</li>
 </ul>
 <p>
 If the selected <a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging"><code>Log</code></a> implementation class has a
 <code>setLogFactory()</code> method that accepts a <a href="../../../../../org/apache/commons/logging/LogFactory.html" title="class in org.apache.commons.logging"><code>LogFactory</code></a>
 parameter, this method will be called on each newly created instance
 to identify the associated factory.  This makes factory configuration
 attributes available to the Log instance, if it so desires.
 <p>
 This factory will remember previously created <code>Log</code> instances
 for the same name, and will return them on repeated requests to the
 <code>getInstance()</code> method.</div>
<dl><dt><span class="strong">Version:</span></dt>
  <dd>$Id: LogFactoryImpl.java 1449064 2013-02-22 14:49:22Z tn $</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#ALLOW_FLAWED_CONTEXT_PROPERTY">ALLOW_FLAWED_CONTEXT_PROPERTY</a></strong></code>
<div class="block">The name (<code>org.apache.commons.logging.Log.allowFlawedContext</code>)
 of the system property which can be set true/false to
 determine system behaviour when a bad context-classloader is encountered.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#ALLOW_FLAWED_DISCOVERY_PROPERTY">ALLOW_FLAWED_DISCOVERY_PROPERTY</a></strong></code>
<div class="block">The name (<code>org.apache.commons.logging.Log.allowFlawedDiscovery</code>)
 of the system property which can be set true/false to
 determine system behaviour when a bad logging adapter class is
 encountered during logging discovery.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#ALLOW_FLAWED_HIERARCHY_PROPERTY">ALLOW_FLAWED_HIERARCHY_PROPERTY</a></strong></code>
<div class="block">The name (<code>org.apache.commons.logging.Log.allowFlawedHierarchy</code>)
 of the system property which can be set true/false to
 determine system behaviour when a logging adapter class is
 encountered which has bound to the wrong Log class implementation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#attributes">attributes</a></strong></code>
<div class="block">Configuration attributes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#instances">instances</a></strong></code>
<div class="block">The <a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging"><code>Log</code></a> instances that have
 already been created, keyed by logger name.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#LOG_PROPERTY">LOG_PROPERTY</a></strong></code>
<div class="block">The name (<code>org.apache.commons.logging.Log</code>) of the system
 property identifying our <a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging"><code>Log</code></a> implementation class.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#LOG_PROPERTY_OLD">LOG_PROPERTY_OLD</a></strong></code>
<div class="block">The deprecated system property used for backwards compatibility with
 old versions of JCL.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/reflect/Constructor.html?is-external=true" title="class or interface in java.lang.reflect">Constructor</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#logConstructor">logConstructor</a></strong></code>
<div class="block">The one-argument constructor of the
 <a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging"><code>Log</code></a>
 implementation class that will be used to create new instances.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#logConstructorSignature">logConstructorSignature</a></strong></code>
<div class="block">The signature of the Constructor to be used.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#logMethod">logMethod</a></strong></code>
<div class="block">The one-argument <code>setLogFactory</code> method of the selected
 <a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging"><code>Log</code></a> method, if it exists.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#logMethodSignature">logMethodSignature</a></strong></code>
<div class="block">The signature of the <code>setLogFactory</code> method to be used.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.commons.logging.LogFactory">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.commons.logging.<a href="../../../../../org/apache/commons/logging/LogFactory.html" title="class in org.apache.commons.logging">LogFactory</a></h3>
<code><a href="../../../../../org/apache/commons/logging/LogFactory.html#DIAGNOSTICS_DEST_PROPERTY">DIAGNOSTICS_DEST_PROPERTY</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#factories">factories</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#FACTORY_DEFAULT">FACTORY_DEFAULT</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#FACTORY_PROPERTIES">FACTORY_PROPERTIES</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#FACTORY_PROPERTY">FACTORY_PROPERTY</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#HASHTABLE_IMPLEMENTATION_PROPERTY">HASHTABLE_IMPLEMENTATION_PROPERTY</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#nullClassLoaderFactory">nullClassLoaderFactory</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#PRIORITY_KEY">PRIORITY_KEY</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#SERVICE_ID">SERVICE_ID</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#TCCL_KEY">TCCL_KEY</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#LogFactoryImpl()">LogFactoryImpl</a></strong>()</code>
<div class="block">Public no-arguments constructor required by the lookup mechanism.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#getAttribute(java.lang.String)">getAttribute</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
<div class="block">Return the configuration attribute with the specified name (if any),
 or <code>null</code> if there is no such attribute.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#getAttributeNames()">getAttributeNames</a></strong>()</code>
<div class="block">Return an array containing the names of all currently defined
 configuration attributes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#getClassLoader(java.lang.Class)">getClassLoader</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;clazz)</code>
<div class="block">Workaround for bug in Java1.2; in theory this method is not needed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#getContextClassLoader()">getContextClassLoader</a></strong>()</code>
<div class="block">Gets the context classloader.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging">Log</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#getInstance(java.lang.Class)">getInstance</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;clazz)</code>
<div class="block">Convenience method to derive a name from the specified class and
 call <code>getInstance(String)</code> with it.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging">Log</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#getInstance(java.lang.String)">getInstance</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
<div class="block">Construct (if necessary) and return a <code>Log</code> instance,
 using the factory's current set of configuration attributes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#getLogClassName()">getLogClassName</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>Never invoked by this class; subclasses should not assume
              it will be.</i></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/reflect/Constructor.html?is-external=true" title="class or interface in java.lang.reflect">Constructor</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#getLogConstructor()">getLogConstructor</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>Never invoked by this class; subclasses should not assume
              it will be.</i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#isDiagnosticsEnabled()">isDiagnosticsEnabled</a></strong>()</code>
<div class="block">Workaround for bug in Java1.2; in theory this method is not needed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#isJdk13LumberjackAvailable()">isJdk13LumberjackAvailable</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>Never invoked by this class; subclasses should not assume
              it will be.</i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#isJdk14Available()">isJdk14Available</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>Never invoked by this class; subclasses should not assume
              it will be.</i></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#isLog4JAvailable()">isLog4JAvailable</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>Never invoked by this class; subclasses should not assume
              it will be.</i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#logDiagnostic(java.lang.String)">logDiagnostic</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</code>
<div class="block">Output a diagnostic message to a user-specified destination (if the
 user has enabled diagnostic logging).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging">Log</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#newInstance(java.lang.String)">newInstance</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
<div class="block">Create and return a new <a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging"><code>Log</code></a>
 instance for the specified name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#release()">release</a></strong>()</code>
<div class="block">Release any internal references to previously created
 <a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging"><code>Log</code></a>
 instances returned by this factory.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#removeAttribute(java.lang.String)">removeAttribute</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
<div class="block">Remove any configuration attribute associated with the specified name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/logging/impl/LogFactoryImpl.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute</a></strong>(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
<div class="block">Set the configuration attribute with the specified name.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.commons.logging.LogFactory">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.commons.logging.<a href="../../../../../org/apache/commons/logging/LogFactory.html" title="class in org.apache.commons.logging">LogFactory</a></h3>
<code><a href="../../../../../org/apache/commons/logging/LogFactory.html#createFactory(java.lang.String, java.lang.ClassLoader)">createFactory</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#directGetContextClassLoader()">directGetContextClassLoader</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#getFactory()">getFactory</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#getLog(java.lang.Class)">getLog</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#getLog(java.lang.String)">getLog</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#handleThrowable(java.lang.Throwable)">handleThrowable</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#logRawDiagnostic(java.lang.String)">logRawDiagnostic</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#newFactory(java.lang.String, java.lang.ClassLoader)">newFactory</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#newFactory(java.lang.String, java.lang.ClassLoader, java.lang.ClassLoader)">newFactory</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#objectId(java.lang.Object)">objectId</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#release(java.lang.ClassLoader)">release</a>, <a href="../../../../../org/apache/commons/logging/LogFactory.html#releaseAll()">releaseAll</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="LOG_PROPERTY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG_PROPERTY</h4>
<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> LOG_PROPERTY</pre>
<div class="block">The name (<code>org.apache.commons.logging.Log</code>) of the system
 property identifying our <a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging"><code>Log</code></a> implementation class.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.commons.logging.impl.LogFactoryImpl.LOG_PROPERTY">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="LOG_PROPERTY_OLD">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG_PROPERTY_OLD</h4>
<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> LOG_PROPERTY_OLD</pre>
<div class="block">The deprecated system property used for backwards compatibility with
 old versions of JCL.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.commons.logging.impl.LogFactoryImpl.LOG_PROPERTY_OLD">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="ALLOW_FLAWED_CONTEXT_PROPERTY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ALLOW_FLAWED_CONTEXT_PROPERTY</h4>
<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ALLOW_FLAWED_CONTEXT_PROPERTY</pre>
<div class="block">The name (<code>org.apache.commons.logging.Log.allowFlawedContext</code>)
 of the system property which can be set true/false to
 determine system behaviour when a bad context-classloader is encountered.
 When set to false, a LogConfigurationException is thrown if
 LogFactoryImpl is loaded via a child classloader of the TCCL (this
 should never happen in sane systems).

 Default behaviour: true (tolerates bad context classloaders)

 See also method setAttribute.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.commons.logging.impl.LogFactoryImpl.ALLOW_FLAWED_CONTEXT_PROPERTY">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="ALLOW_FLAWED_DISCOVERY_PROPERTY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ALLOW_FLAWED_DISCOVERY_PROPERTY</h4>
<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ALLOW_FLAWED_DISCOVERY_PROPERTY</pre>
<div class="block">The name (<code>org.apache.commons.logging.Log.allowFlawedDiscovery</code>)
 of the system property which can be set true/false to
 determine system behaviour when a bad logging adapter class is
 encountered during logging discovery. When set to false, an
 exception will be thrown and the app will fail to start. When set
 to true, discovery will continue (though the user might end up
 with a different logging implementation than they expected).
 <p>
 Default behaviour: true (tolerates bad logging adapters)

 See also method setAttribute.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.commons.logging.impl.LogFactoryImpl.ALLOW_FLAWED_DISCOVERY_PROPERTY">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="ALLOW_FLAWED_HIERARCHY_PROPERTY">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ALLOW_FLAWED_HIERARCHY_PROPERTY</h4>
<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ALLOW_FLAWED_HIERARCHY_PROPERTY</pre>
<div class="block">The name (<code>org.apache.commons.logging.Log.allowFlawedHierarchy</code>)
 of the system property which can be set true/false to
 determine system behaviour when a logging adapter class is
 encountered which has bound to the wrong Log class implementation.
 When set to false, an exception will be thrown and the app will fail
 to start. When set to true, discovery will continue (though the user
 might end up with a different logging implementation than they expected).
 <p>
 Default behaviour: true (tolerates bad Log class hierarchy)

 See also method setAttribute.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.commons.logging.impl.LogFactoryImpl.ALLOW_FLAWED_HIERARCHY_PROPERTY">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="attributes">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>attributes</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</a> attributes</pre>
<div class="block">Configuration attributes.</div>
</li>
</ul>
<a name="instances">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>instances</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</a> instances</pre>
<div class="block">The <a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging"><code>Log</code></a> instances that have
 already been created, keyed by logger name.</div>
</li>
</ul>
<a name="logConstructor">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>logConstructor</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/reflect/Constructor.html?is-external=true" title="class or interface in java.lang.reflect">Constructor</a> logConstructor</pre>
<div class="block">The one-argument constructor of the
 <a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging"><code>Log</code></a>
 implementation class that will be used to create new instances.
 This value is initialized by <code>getLogConstructor()</code>,
 and then returned repeatedly.</div>
</li>
</ul>
<a name="logConstructorSignature">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>logConstructorSignature</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>[] logConstructorSignature</pre>
<div class="block">The signature of the Constructor to be used.</div>
</li>
</ul>
<a name="logMethod">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>logMethod</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a> logMethod</pre>
<div class="block">The one-argument <code>setLogFactory</code> method of the selected
 <a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging"><code>Log</code></a> method, if it exists.</div>
</li>
</ul>
<a name="logMethodSignature">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>logMethodSignature</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>[] logMethodSignature</pre>
<div class="block">The signature of the <code>setLogFactory</code> method to be used.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="LogFactoryImpl()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LogFactoryImpl</h4>
<pre>public&nbsp;LogFactoryImpl()</pre>
<div class="block">Public no-arguments constructor required by the lookup mechanism.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getAttribute(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttribute</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getAttribute(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
<div class="block">Return the configuration attribute with the specified name (if any),
 or <code>null</code> if there is no such attribute.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/logging/LogFactory.html#getAttribute(java.lang.String)">getAttribute</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/logging/LogFactory.html" title="class in org.apache.commons.logging">LogFactory</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - Name of the attribute to return</dd></dl>
</li>
</ul>
<a name="getAttributeNames()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttributeNames</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getAttributeNames()</pre>
<div class="block">Return an array containing the names of all currently defined
 configuration attributes.  If there are no such attributes, a zero
 length array is returned.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/logging/LogFactory.html#getAttributeNames()">getAttributeNames</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/logging/LogFactory.html" title="class in org.apache.commons.logging">LogFactory</a></code></dd>
</dl>
</li>
</ul>
<a name="getInstance(java.lang.Class)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstance</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging">Log</a>&nbsp;getInstance(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;clazz)
                throws <a href="../../../../../org/apache/commons/logging/LogConfigurationException.html" title="class in org.apache.commons.logging">LogConfigurationException</a></pre>
<div class="block">Convenience method to derive a name from the specified class and
 call <code>getInstance(String)</code> with it.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/logging/LogFactory.html#getInstance(java.lang.Class)">getInstance</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/logging/LogFactory.html" title="class in org.apache.commons.logging">LogFactory</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>clazz</code> - Class for which a suitable Log name will be derived</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/logging/LogConfigurationException.html" title="class in org.apache.commons.logging">LogConfigurationException</a></code> - if a suitable <code>Log</code>
  instance cannot be returned</dd></dl>
</li>
</ul>
<a name="getInstance(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstance</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging">Log</a>&nbsp;getInstance(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                throws <a href="../../../../../org/apache/commons/logging/LogConfigurationException.html" title="class in org.apache.commons.logging">LogConfigurationException</a></pre>
<div class="block"><p>Construct (if necessary) and return a <code>Log</code> instance,
 using the factory's current set of configuration attributes.</p>

 <p><strong>NOTE</strong> - Depending upon the implementation of
 the <code>LogFactory</code> you are using, the <code>Log</code>
 instance you are returned may or may not be local to the current
 application, and may or may not be returned again on a subsequent
 call with the same name argument.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/logging/LogFactory.html#getInstance(java.lang.String)">getInstance</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/logging/LogFactory.html" title="class in org.apache.commons.logging">LogFactory</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - Logical name of the <code>Log</code> instance to be
  returned (the meaning of this name is only known to the underlying
  logging implementation that is being wrapped)</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/logging/LogConfigurationException.html" title="class in org.apache.commons.logging">LogConfigurationException</a></code> - if a suitable <code>Log</code>
  instance cannot be returned</dd></dl>
</li>
</ul>
<a name="release()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>release</h4>
<pre>public&nbsp;void&nbsp;release()</pre>
<div class="block">Release any internal references to previously created
 <a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging"><code>Log</code></a>
 instances returned by this factory.  This is useful in environments
 like servlet containers, which implement application reloading by
 throwing away a ClassLoader.  Dangling references to objects in that
 class loader would prevent garbage collection.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/logging/LogFactory.html#release()">release</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/logging/LogFactory.html" title="class in org.apache.commons.logging">LogFactory</a></code></dd>
</dl>
</li>
</ul>
<a name="removeAttribute(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeAttribute</h4>
<pre>public&nbsp;void&nbsp;removeAttribute(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
<div class="block">Remove any configuration attribute associated with the specified name.
 If there is no such attribute, no action is taken.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/logging/LogFactory.html#removeAttribute(java.lang.String)">removeAttribute</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/logging/LogFactory.html" title="class in org.apache.commons.logging">LogFactory</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - Name of the attribute to remove</dd></dl>
</li>
</ul>
<a name="setAttribute(java.lang.String, java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttribute</h4>
<pre>public&nbsp;void&nbsp;setAttribute(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
<div class="block">Set the configuration attribute with the specified name.  Calling
 this with a <code>null</code> value is equivalent to calling
 <code>removeAttribute(name)</code>.
 <p>
 This method can be used to set logging configuration programmatically
 rather than via system properties. It can also be used in code running
 within a container (such as a webapp) to configure behaviour on a
 per-component level instead of globally as system properties would do.
 To use this method instead of a system property, call
 <pre>
 LogFactory.getFactory().setAttribute(...)
 </pre>
 This must be done before the first Log object is created; configuration
 changes after that point will be ignored.
 <p>
 This method is also called automatically if LogFactory detects a
 commons-logging.properties file; every entry in that file is set
 automatically as an attribute here.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/logging/LogFactory.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/logging/LogFactory.html" title="class in org.apache.commons.logging">LogFactory</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - Name of the attribute to set</dd><dd><code>value</code> - Value of the attribute to set, or <code>null</code>
  to remove any setting for this attribute</dd></dl>
</li>
</ul>
<a name="getContextClassLoader()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContextClassLoader</h4>
<pre>protected static&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;getContextClassLoader()
                                            throws <a href="../../../../../org/apache/commons/logging/LogConfigurationException.html" title="class in org.apache.commons.logging">LogConfigurationException</a></pre>
<div class="block">Gets the context classloader.
 This method is a workaround for a java 1.2 compiler bug.</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/logging/LogConfigurationException.html" title="class in org.apache.commons.logging">LogConfigurationException</a></code></dd><dt><span class="strong">Since:</span></dt>
  <dd>1.1</dd></dl>
</li>
</ul>
<a name="isDiagnosticsEnabled()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDiagnosticsEnabled</h4>
<pre>protected static&nbsp;boolean&nbsp;isDiagnosticsEnabled()</pre>
<div class="block">Workaround for bug in Java1.2; in theory this method is not needed.
 See LogFactory.isDiagnosticsEnabled.</div>
</li>
</ul>
<a name="getClassLoader(java.lang.Class)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClassLoader</h4>
<pre>protected static&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;getClassLoader(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;clazz)</pre>
<div class="block">Workaround for bug in Java1.2; in theory this method is not needed.
 See LogFactory.getClassLoader.</div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>1.1</dd></dl>
</li>
</ul>
<a name="logDiagnostic(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>logDiagnostic</h4>
<pre>protected&nbsp;void&nbsp;logDiagnostic(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)</pre>
<div class="block">Output a diagnostic message to a user-specified destination (if the
 user has enabled diagnostic logging).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>msg</code> - diagnostic message</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.1</dd></dl>
</li>
</ul>
<a name="getLogClassName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLogClassName</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLogClassName()</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>Never invoked by this class; subclasses should not assume
              it will be.</i></div>
<div class="block">Return the fully qualified Java classname of the <a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging"><code>Log</code></a>
 implementation we will be using.</div>
</li>
</ul>
<a name="getLogConstructor()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLogConstructor</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/reflect/Constructor.html?is-external=true" title="class or interface in java.lang.reflect">Constructor</a>&nbsp;getLogConstructor()
                                 throws <a href="../../../../../org/apache/commons/logging/LogConfigurationException.html" title="class in org.apache.commons.logging">LogConfigurationException</a></pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>Never invoked by this class; subclasses should not assume
              it will be.</i></div>
<div class="block"><p>Return the <code>Constructor</code> that can be called to instantiate
 new <a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging"><code>Log</code></a> instances.</p>

 <p><strong>IMPLEMENTATION NOTE</strong> - Race conditions caused by
 calling this method from more than one thread are ignored, because
 the same <code>Constructor</code> instance will ultimately be derived
 in all circumstances.</p></div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/logging/LogConfigurationException.html" title="class in org.apache.commons.logging">LogConfigurationException</a></code> - if a suitable constructor
  cannot be returned</dd></dl>
</li>
</ul>
<a name="isJdk13LumberjackAvailable()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isJdk13LumberjackAvailable</h4>
<pre>protected&nbsp;boolean&nbsp;isJdk13LumberjackAvailable()</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>Never invoked by this class; subclasses should not assume
              it will be.</i></div>
<div class="block">Is <em>JDK 1.3 with Lumberjack</em> logging available?</div>
</li>
</ul>
<a name="isJdk14Available()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isJdk14Available</h4>
<pre>protected&nbsp;boolean&nbsp;isJdk14Available()</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>Never invoked by this class; subclasses should not assume
              it will be.</i></div>
<div class="block">Return <code>true</code> if <em>JDK 1.4 or later</em> logging
 is available.  Also checks that the <code>Throwable</code> class
 supports <code>getStackTrace()</code>, which is required by
 Jdk14Logger.</div>
</li>
</ul>
<a name="isLog4JAvailable()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLog4JAvailable</h4>
<pre>protected&nbsp;boolean&nbsp;isLog4JAvailable()</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>Never invoked by this class; subclasses should not assume
              it will be.</i></div>
<div class="block">Is a <em>Log4J</em> implementation available?</div>
</li>
</ul>
<a name="newInstance(java.lang.String)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>newInstance</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging">Log</a>&nbsp;newInstance(<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                   throws <a href="../../../../../org/apache/commons/logging/LogConfigurationException.html" title="class in org.apache.commons.logging">LogConfigurationException</a></pre>
<div class="block">Create and return a new <a href="../../../../../org/apache/commons/logging/Log.html" title="interface in org.apache.commons.logging"><code>Log</code></a>
 instance for the specified name.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - Name of the new logger</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/logging/LogConfigurationException.html" title="class in org.apache.commons.logging">LogConfigurationException</a></code> - if a new instance cannot
  be created</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/LogFactoryImpl.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/logging/impl/Log4JLogger.html" title="class in org.apache.commons.logging.impl"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/logging/impl/LogKitLogger.html" title="class in org.apache.commons.logging.impl"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/logging/impl/LogFactoryImpl.html" target="_top">Frames</a></li>
<li><a href="LogFactoryImpl.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
